<?php


namespace App\Http\Controllers\Admin;

use App\Models\Admin\Logo;
use App\Models\Api\Files;
use Illuminate\Database\QueryException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Validator;
use App\Http\Controllers\Controller;
/**
 * @group logo图片
 *
 * 采用 restful api
 *
 * Body Parameters 表示请求的所需要的参数
 *
 * Query Parameters 表示返回参数的名称
 */
class LogoController extends Controller
{
    /**
     * logo图片查看
     *
     *
     * @queryParam  name 名称
     * @queryParam  image 图片
     *
     * 返回状态码对应消息
     *
     * 501 用户或者商家不能访问
     * 200 成功
     */
    public function index(Request $request){
        $query=Logo::with('image')->first();
        return response()->json($query,200);
    }
    /**
     * logo图片修改
     *
     * @bodyParam  name string 名称
     * @bodyParam  logo int  图片id
     *
     * 501 用户或者商家不能访问
     * 502 获取角色失败
     * 503 修改失败
     * 504 删除图片失败
     * 200 修改成功
     */
    public function update(Request $request){
        try{
            DB::beginTransaction();
            if (!$request->get('logo') && !$request->has('name')){
                return response()->json(["message"=>"没有值"],502);
            }
            $query=Logo::with('image')->first();
            if ($request->get('name')){
                $query->name =$request->get('name');
            }
            if ($request->get('logo')){
                $id= $query->logo;
               $file= Files::where('id','=',$id)->delete();
                if (!$file){
                    DB::rollBack();
                    return response()->json(["message"=>"删除图片失败"],504);
                }
                $query->logo =$request->get('logo');
            }
            $query->save();
            DB::commit();
            return response()->json(["message"=>"修改成功"],200);
        }catch (QueryException $e){
            DB::rollBack();
            return response()->json(["message"=>"修改失败"],503);
        }


    }

}